common.skill

ফাইল হ্যান্ডলিং এবং স্টোরেজ

Microsoft Technologies - এএসপি ডট নেট কোর (ASP.Net Core)
200
200

ASP.NET Core-এ ফাইল হ্যান্ডলিং এবং স্টোরেজ একটি গুরুত্বপূর্ণ বিষয়, বিশেষ করে যখন ওয়েব অ্যাপ্লিকেশনগুলির মাধ্যমে ফাইল আপলোড এবং ডাউনলোড করতে হয়। ফাইল আপলোড, ডাউনলোড, এবং সঞ্চয়ের প্রক্রিয়া অ্যাপ্লিকেশনটির পারফরম্যান্স, নিরাপত্তা এবং ব্যবহারকারীর অভিজ্ঞতা বাড়াতে সাহায্য করে।

ASP.NET Core-এ ফাইল হ্যান্ডলিং সহজ এবং নিরাপদভাবে করা সম্ভব, এবং এটি স্থানীয় ডিরেক্টরি, ক্লাউড স্টোরেজ সিস্টেম (যেমন Azure Blob Storage), বা অন্য কোনো স্টোরেজ সিস্টেমের সঙ্গে ইন্টিগ্রেট করা যেতে পারে।


ফাইল আপলোড করা

ASP.NET Core-এ ফাইল আপলোড করার জন্য IFormFile ইন্টারফেস ব্যবহার করা হয়। IFormFile হলো ফাইলের তথ্য ধারণ করে, যা HTTP রিকোয়েস্টে প্রাপ্ত হয়। নিচে একটি উদাহরণ দেয়া হলো, যেখানে একটি ফাইল আপলোড করা হচ্ছে।

ফাইল আপলোড করার উদাহরণ:

  1. Controller-এ ফাইল আপলোড করা:
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System.IO;
using System.Threading.Tasks;

public class FileUploadController : Controller
{
    [HttpPost("upload")]
    public async Task<IActionResult> UploadFile(IFormFile file)
    {
        if (file == null || file.Length == 0)
        {
            return Content("No file selected for upload.");
        }

        var filePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "uploads", file.FileName);

        using (var stream = new FileStream(filePath, FileMode.Create))
        {
            await file.CopyToAsync(stream);
        }

        return Ok(new { filePath });
    }
}

এখানে, IFormFile ব্যবহার করা হয়েছে ফাইল গ্রহণ করার জন্য। ফাইলটি "wwwroot/uploads" ফোল্ডারে সেভ করা হচ্ছে।

  1. HTML ফর্ম দিয়ে ফাইল আপলোড:
<form method="post" enctype="multipart/form-data" action="/upload">
    <input type="file" name="file" />
    <button type="submit">Upload</button>
</form>

ফাইল ডাউনলোড করা

ফাইল ডাউনলোড করতে FileResult ব্যবহার করা হয়। এটি ফাইলের কনটেন্ট ক্লায়েন্টের কাছে পাঠায়।

ফাইল ডাউনলোড করার উদাহরণ:

[HttpGet("download/{fileName}")]
public IActionResult DownloadFile(string fileName)
{
    var filePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "uploads", fileName);

    if (!System.IO.File.Exists(filePath))
    {
        return NotFound();
    }

    var fileBytes = System.IO.File.ReadAllBytes(filePath);
    return File(fileBytes, "application/octet-stream", fileName);
}

এখানে, File() মেথডটি ফাইলের বাইনারি কনটেন্ট এবং MIME টাইপের সঙ্গে ক্লায়েন্টে পাঠায়।


ফাইল সেভ এবং ডিলিট করা

ফাইল সেভ এবং ডিলিট করার জন্য ফাইল সিস্টেমের ওপর নির্ভরশীল। ASP.NET Core-এ ফাইল সেভ এবং ডিলিট করার জন্য System.IO নেমস্পেস ব্যবহার করা হয়।

ফাইল সেভ করার উদাহরণ:

public async Task SaveFile(IFormFile file)
{
    var filePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "uploads", file.FileName);
    using (var stream = new FileStream(filePath, FileMode.Create))
    {
        await file.CopyToAsync(stream);
    }
}

ফাইল ডিলিট করার উদাহরণ:

public void DeleteFile(string fileName)
{
    var filePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "uploads", fileName);

    if (System.IO.File.Exists(filePath))
    {
        System.IO.File.Delete(filePath);
    }
}

ক্লাউড স্টোরেজ সিস্টেম (Azure Blob Storage)

ASP.NET Core-এ ফাইল স্টোরেজ এবং হ্যান্ডলিং ক্লাউড স্টোরেজ সিস্টেমের মাধ্যমে পরিচালনা করা যেতে পারে। ক্লাউড স্টোরেজ যেমন Azure Blob Storage ব্যবহারের মাধ্যমে অ্যাপ্লিকেশনের ফাইল সঞ্চয় এবং অ্যাক্সেস করা অনেক সহজ হয়ে ওঠে।

Azure Blob Storage সেটআপ:

  1. NuGet প্যাকেজ ইনস্টল করা:
dotnet add package Azure.Storage.Blobs
  1. Azure Blob Storage-এ ফাইল আপলোড করা:
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
using System.Threading.Tasks;

public class BlobStorageService
{
    private readonly BlobServiceClient _blobServiceClient;
    private readonly string _containerName = "mycontainer";

    public BlobStorageService(BlobServiceClient blobServiceClient)
    {
        _blobServiceClient = blobServiceClient;
    }

    public async Task UploadFileAsync(IFormFile file)
    {
        var blobContainerClient = _blobServiceClient.GetBlobContainerClient(_containerName);
        var blobClient = blobContainerClient.GetBlobClient(file.FileName);

        using (var stream = file.OpenReadStream())
        {
            await blobClient.UploadAsync(stream, overwrite: true);
        }
    }
}
  1. Azure Blob Storage থেকে ফাইল ডাউনলোড করা:
public async Task<IActionResult> DownloadFileFromBlob(string fileName)
{
    var blobContainerClient = _blobServiceClient.GetBlobContainerClient(_containerName);
    var blobClient = blobContainerClient.GetBlobClient(fileName);

    if (!await blobClient.ExistsAsync())
    {
        return NotFound();
    }

    var memoryStream = new MemoryStream();
    await blobClient.DownloadToAsync(memoryStream);

    memoryStream.Position = 0;
    return File(memoryStream, "application/octet-stream", fileName);
}

ফাইল স্টোরেজের নিরাপত্তা

ফাইল হ্যান্ডলিং এবং স্টোরেজের সময় নিরাপত্তা বিষয়টি অত্যন্ত গুরুত্বপূর্ণ। নিম্নলিখিত বিষয়গুলো খেয়াল রাখা উচিত:

  1. ফাইল নাম ভ্যালিডেশন: ফাইলের নাম সঠিক এবং নিরাপদ কিনা তা যাচাই করা উচিত।
  2. ফাইল টাইপ চেক: শুধুমাত্র অনুমোদিত ফাইল টাইপগুলো আপলোড করতে দেওয়া উচিত (যেমন .jpg, .pdf, .docx)।
  3. সাইজ সীমাবদ্ধতা: আপলোডের সময় ফাইল সাইজ সীমাবদ্ধ রাখা উচিত, যাতে খুব বড় ফাইল সিস্টেমের ওপর চাপ না দেয়।
  4. প্রতিরক্ষা: ক্লাউড স্টোরেজ ব্যবহারের ক্ষেত্রে সুরক্ষিত অ্যাক্সেস কন্ট্রোল এবং এনক্রিপশন ব্যবহার করা উচিত।

সারাংশ

ASP.NET Core-এ ফাইল হ্যান্ডলিং এবং স্টোরেজ করা খুবই সহজ এবং নিরাপদ উপায়ে করা যেতে পারে। স্থানীয় ফাইল সিস্টেম অথবা ক্লাউড স্টোরেজ সিস্টেমের মাধ্যমে ফাইল আপলোড, ডাউনলোড, সেভ এবং ডিলিট করা সম্ভব। এর পাশাপাশি নিরাপত্তা বিষয়গুলো নিশ্চিত করতে হলে ফাইল নাম, টাইপ এবং সাইজের ওপর কড়ি নিয়ন্ত্রণ রাখা উচিত।

common.content_added_by

ফাইল আপলোড এবং ডাউনলোড

219
219

ASP.NET Core এ ফাইল আপলোড এবং ডাউনলোড একটি সাধারণ প্রক্রিয়া, যা ওয়েব অ্যাপ্লিকেশনগুলির মাধ্যমে ব্যবহারকারীদের ফাইল আপলোড এবং ডাউনলোড করতে সহায়ক। ফাইল আপলোড এবং ডাউনলোড পরিচালনা করতে IFormFile ইন্টারফেস ব্যবহার করা হয়। এটি ব্যবহারকারীদের ফাইল নির্বাচন ও আপলোড করার জন্য একটি সহজ এবং নিরাপদ পদ্ধতি প্রদান করে।


ফাইল আপলোড করা

ASP.NET Core-এ ফাইল আপলোড করার জন্য আপনাকে ক্লায়েন্ট সাইড (HTML) এবং সার্ভার সাইড (C#) কোড লিখতে হবে। নিচে ফাইল আপলোড করার প্রক্রিয়া দেখানো হলো।

১. HTML ফর্ম তৈরি করা

প্রথমে, একটি HTML ফর্ম তৈরি করুন যেখানে ব্যবহারকারী ফাইল আপলোড করতে পারবেন।

<form enctype="multipart/form-data" method="post" action="/FileUpload/UploadFile">
    <input type="file" name="uploadedFile" />
    <button type="submit">Upload File</button>
</form>

এখানে enctype="multipart/form-data" ব্যবহার করা হচ্ছে, যা ফাইল ডেটা সহ অন্যান্য ডেটা সার্ভারে পাঠাতে সহায়তা করে।

২. Controller কোড (C#)

ASP.NET Core-এ ফাইল আপলোড করার জন্য আপনাকে একটি Controller তৈরি করতে হবে, যেখানে ফাইল গ্রহণ এবং সেভ করার কোড থাকবে।

using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System.IO;
using System.Threading.Tasks;

public class FileUploadController : Controller
{
    // GET: FileUpload
    public IActionResult Index()
    {
        return View();
    }

    // POST: FileUpload/UploadFile
    [HttpPost]
    public async Task<IActionResult> UploadFile(IFormFile uploadedFile)
    {
        if (uploadedFile != null && uploadedFile.Length > 0)
        {
            var filePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "uploads", uploadedFile.FileName);

            using (var stream = new FileStream(filePath, FileMode.Create))
            {
                await uploadedFile.CopyToAsync(stream);
            }
            return RedirectToAction("Index");
        }
        return View();
    }
}

এখানে, IFormFile ব্যবহার করে ফাইলটি গ্রহণ করা হয়েছে এবং এটি wwwroot/uploads ফোল্ডারে সেভ করা হয়েছে।

  • IFormFile: ASP.NET Core-এ ফাইল আপলোডের জন্য ব্যবহৃত ক্লাস।
  • CopyToAsync: ফাইল স্ট্রিমে ফাইলটি কপি করার জন্য ব্যবহৃত অ্যাসিঙ্ক্রোনাস মেথড।

৩. ফাইল স্টোরেজের জন্য ফোল্ডার তৈরি

ফাইল আপলোড করার জন্য আপনাকে একটি ফোল্ডার তৈরি করতে হবে যেখানে ফাইলগুলো সেভ করা হবে। উদাহরণস্বরূপ, wwwroot/uploads ফোল্ডার।


ফাইল ডাউনলোড করা

ফাইল ডাউনলোড করার জন্য সার্ভারের সঠিক পাথ থেকে ফাইলটি পাঠানো হয়। নিচে ফাইল ডাউনলোড করার উদাহরণ দেখানো হলো।

১. Controller কোড (C#)

public class FileDownloadController : Controller
{
    // GET: FileDownload/DownloadFile
    public IActionResult DownloadFile(string fileName)
    {
        var filePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "uploads", fileName);

        if (System.IO.File.Exists(filePath))
        {
            var fileBytes = System.IO.File.ReadAllBytes(filePath);
            return File(fileBytes, "application/octet-stream", fileName);
        }

        return NotFound();
    }
}

এখানে:

  • File.ReadAllBytes: ফাইলের সকল বাইট পড়ার জন্য ব্যবহৃত হয়।
  • File: ডাউনলোডের জন্য ফাইল রিটার্ন করে। এটি ক্লায়েন্ট সাইডে ফাইল ডাউনলোড শুরু করবে।

২. ফাইল ডাউনলোডের জন্য HTML লিংক

<a href="/FileDownload/DownloadFile?fileName=example.jpg">Download File</a>

এখানে, fileName প্যারামিটারটি সার্ভারে পাঠানো হচ্ছে, যাতে নির্দিষ্ট ফাইলটি ডাউনলোড করা যায়।


নিরাপত্তা বিষয়ক দিক

ফাইল আপলোড এবং ডাউনলোড করার সময় কিছু নিরাপত্তা বিষয় নিশ্চিত করা জরুরি:

  • ফাইলের ধরনের যাচাই: শুধুমাত্র নির্দিষ্ট ফাইল টাইপ (যেমন: .jpg, .png, .txt) আপলোড করা যেতে পারে। এটি করতে, ফাইলের এক্সটেনশন চেক করা যেতে পারে।
  • ফাইলের আকার সীমাবদ্ধ করা: বড় ফাইল আপলোড থেকে রক্ষা পেতে ফাইলের আকার সীমাবদ্ধ করা যেতে পারে।
  • ফাইলের নাম স্যানিটাইজ করা: ফাইলের নাম স্যানিটাইজ করা উচিত, যাতে কোনো ধরনের ম্যালিসিয়াস কোড বা স্ক্রিপ্ট না চলে।

উদাহরণ: ফাইলের ধরন চেক করা

var allowedExtensions = new[] { ".jpg", ".png", ".txt" };
var fileExtension = Path.GetExtension(uploadedFile.FileName);

if (!allowedExtensions.Contains(fileExtension.ToLower()))
{
    return BadRequest("Invalid file type.");
}

সারাংশ

ASP.NET Core-এ ফাইল আপলোড এবং ডাউনলোড করার প্রক্রিয়া খুবই সহজ এবং নমনীয়। আপনি ফাইলটি সার্ভারে গ্রহণ এবং সেভ করতে পারবেন, এবং পরে সেই ফাইলটি ব্যবহারকারীর জন্য ডাউনলোডও করতে পারবেন। তবে, নিরাপত্তার দিক থেকেও সতর্ক থাকা প্রয়োজন, বিশেষ করে ফাইলের ধরন এবং আকারের জন্য যাচাই নিশ্চিত করতে।

common.content_added_by

Static Files Middleware ব্যবহার করা

214
214

ASP.NET Core-এ Static Files Middleware ব্যবহৃত হয় স্ট্যাটিক ফাইল যেমন HTML, CSS, JavaScript, ইমেজ ইত্যাদি পরিবেশন (serve) করার জন্য। ডিফল্টভাবে, ASP.NET Core শুধুমাত্র স্ট্যাটিক ফাইল পরিবেশন করার জন্য নির্ধারিত একটি নির্দিষ্ট ফোল্ডার থেকে কাজ করে। এই ফোল্ডারটি হলো wwwroot। Static Files Middleware সেটআপ এবং কনফিগার করে আপনি সহজেই স্ট্যাটিক ফাইল পরিবেশন করতে পারেন।


Static Files Middleware কী?

Static Files Middleware হলো ASP.NET Core পাইপলাইনে একটি কম্পোনেন্ট, যা স্ট্যাটিক ফাইল পরিবেশন করার কাজ করে। এটি একটি HTTP রিকোয়েস্টের URI-র মাধ্যমে নির্দিষ্ট ফাইল লোকেশন থেকে ফাইল সার্ভ করে।


Static Files Middleware কনফিগার করা

wwwroot ফোল্ডার ব্যবহার করা

ASP.NET Core প্রজেক্টে ডিফল্টভাবে একটি wwwroot ফোল্ডার থাকে, যেখানে স্ট্যাটিক ফাইলগুলো রাখা হয়। Static Files Middleware এই ফোল্ডার থেকে ফাইল সার্ভ করে।

Static Files Middleware যোগ করা

Static Files Middleware যুক্ত করতে Program.cs ফাইল আপডেট করতে হবে।

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

// Static Files Middleware যোগ করা
app.UseStaticFiles();

app.Run();

wwwroot ফোল্ডারে ফাইল যোগ করা

ডিফল্টভাবে, wwwroot ফোল্ডারের ভেতরে রাখা ফাইলগুলো সরাসরি ব্রাউজার থেকে অ্যাক্সেসযোগ্য। উদাহরণস্বরূপ:

  1. wwwroot ফোল্ডারে একটি HTML ফাইল যোগ করুন: wwwroot/index.html ফাইল তৈরি করুন:

    <!DOCTYPE html>
    <html>
    <head>
        <title>Static File Example</title>
    </head>
    <body>
        <h1>Hello, Static Files!</h1>
    </body>
    </html>
    
  2. ব্রাউজারে অ্যাক্সেস করুন:
    https://localhost:5001/index.html
    এই URL-টি সরাসরি index.html ফাইল পরিবেশন করবে।

কাস্টম ফোল্ডার থেকে স্ট্যাটিক ফাইল পরিবেশন করা

যদি wwwroot এর বাইরে অন্য কোনো ফোল্ডার থেকে স্ট্যাটিক ফাইল পরিবেশন করতে চান, তাহলে সেই ফোল্ডারটি Middleware-এ যুক্ত করতে হবে।

app.UseStaticFiles(new StaticFileOptions
{
    FileProvider = new PhysicalFileProvider(
        Path.Combine(Directory.GetCurrentDirectory(), "StaticFiles")),
    RequestPath = "/files"
});

উপরের কোডটি StaticFiles নামে একটি ফোল্ডারকে স্ট্যাটিক ফাইলের উৎস হিসেবে যুক্ত করবে। এখন ব্রাউজারে অ্যাক্সেস করতে হবে:

https://localhost:5001/files/<filename>


Static Files Middleware কনফিগারেশন

ডিফল্ট ফাইল সেট করা

ডিফল্টভাবে index.html ফাইলকে অ্যাপের ডিফল্ট ফাইল হিসেবে পরিবেশন করা হয়। যদি অন্য কোনো ফাইলকে ডিফল্ট ফাইল হিসেবে সেট করতে চান:

app.UseDefaultFiles(new DefaultFilesOptions
{
    DefaultFileNames = new List<string> { "home.html" }
});
app.UseStaticFiles();

ব্রাউজিং সক্ষম করা

ডিরেক্টরি ব্রাউজিং চালু করতে:

app.UseDirectoryBrowser(new DirectoryBrowserOptions
{
    FileProvider = new PhysicalFileProvider(
        Path.Combine(Directory.GetCurrentDirectory(), "StaticFiles")),
    RequestPath = "/files"
});

এখন https://localhost:5001/files এই URL-এ ব্রাউজিং সক্ষম হবে।


Static Files Middleware এর সুবিধা

  1. সহজেই স্ট্যাটিক ফাইল সার্ভ করা যায়।
  2. কাস্টম ফোল্ডার থেকে ফাইল পরিবেশনের সুবিধা।
  3. ডিফল্ট ফাইল এবং ডিরেক্টরি ব্রাউজিং কনফিগার করা যায়।
  4. ফাইল নিরাপত্তা নিশ্চিত করতে উপযুক্ত নিয়মাবলী প্রয়োগ করা যায়।

Static Files Middleware ASP.NET Core অ্যাপ্লিকেশনে স্ট্যাটিক ফাইল ব্যবস্থাপনা সহজ এবং কার্যকর করে তোলে। এটি ওয়েব অ্যাপ্লিকেশনের জন্য স্ট্যাটিক রিসোর্স সরবরাহ করার একটি অপরিহার্য উপাদান।

common.content_added_by

ক্লাউড স্টোরেজ ইন্টিগ্রেশন (Azure Blob Storage)

267
267

Azure Blob Storage হলো মাইক্রোসফট অ্যাজুরের একটি স্কেলেবল এবং নিরাপদ ব্লব স্টোরেজ সেবা, যা বিশাল পরিমাণ অডিও, ভিডিও, ইমেজ, ডকুমেন্ট, ব্যাকআপ ফাইল এবং অন্যান্য অ্যাসেট সংরক্ষণের জন্য ব্যবহৃত হয়। এটি অ্যাজুর প্ল্যাটফর্মের একটি গুরুত্বপূর্ণ অংশ এবং অ্যাপ্লিকেশন, ওয়েবসাইট, এবং এন্টারপ্রাইজ সিস্টেমের জন্য অত্যন্ত কার্যকরী স্টোরেজ সমাধান প্রদান করে।

Azure Blob Storage এ ফাইলগুলিকে BLOB (Binary Large Object) হিসেবে সংরক্ষণ করা হয়, যা পেতে এবং সঞ্চয় করতে খুবই সহজ এবং নিরাপদ। এটি অ্যাজুরের অন্যান্য পরিষেবার সাথে সংযুক্ত হয়ে ডেটা ম্যানেজমেন্ট এবং অ্যাপ্লিকেশন কার্যকারিতা বাড়ানোর জন্য ব্যবহৃত হয়।


Azure Blob Storage এর বৈশিষ্ট্য

  • স্কেলেবল: এটি বড় আকারের ফাইল যেমন ভিডিও, ইমেজ এবং ব্যাকআপ ফাইল সংরক্ষণ করতে সক্ষম।
  • নিরাপদ: Azure Blob Storage উন্নত নিরাপত্তা ব্যবস্থা, যেমন অ্যাক্সেস কন্ট্রোল, এনক্রিপশন এবং কাস্টম নিরাপত্তা নীতি প্রদান করে।
  • ইন্টিগ্রেশন সাপোর্ট: Azure Blob Storage অ্যাজুরের অন্যান্য পরিষেবাগুলির সাথে একীভূত করা যায়, যেমন Azure Functions, Logic Apps, এবং Web Apps।
  • ক্লাউড ভিত্তিক অ্যাক্সেস: যেকোনো স্থান থেকে ইন্টারনেটের মাধ্যমে ফাইলগুলি অ্যাক্সেস করা যায়।

Azure Blob Storage সেটআপ

Azure Blob Storage সেটআপ করতে কিছু ধাপ অনুসরণ করতে হবে:

1. Azure অ্যাকাউন্ট তৈরি করা

প্রথমে আপনাকে একটি Azure অ্যাকাউন্ট তৈরি করতে হবে, যদি না থাকে। তারপর Azure Portal (https://portal.azure.com) এ লগ ইন করুন।

2. স্টোরেজ অ্যাকাউন্ট তৈরি করা

  1. Azure Portal এ গিয়ে Storage accounts নির্বাচন করুন এবং + Create বাটনে ক্লিক করুন।
  2. আপনার স্টোরেজ অ্যাকাউন্টের নাম, রেজিয়ন, এবং অন্যান্য কনফিগারেশন সেট করুন।
  3. সিলেক্ট করুন StorageV2 (সর্বশেষ এবং সুপারিশকৃত মোড)।
  4. কনফিগারেশন সেভ করুন এবং অ্যাকাউন্ট তৈরি করুন।

3. Blob Container তৈরি করা

  1. স্টোরেজ অ্যাকাউন্টে গিয়ে Containers সেকশনটি নির্বাচন করুন।
  2. + Container বাটনে ক্লিক করে একটি নতুন কন্টেইনার তৈরি করুন। কন্টেইনার হলো ফাইল বা ব্লব সংরক্ষণের জায়গা।
  3. কন্টেইনারের নাম এবং অ্যাক্সেস লেভেল (যেমন, Private, Blob, Container) নির্বাচন করুন এবং সেভ করুন।

Azure Blob Storage-এ ফাইল আপলোড করা

Azure Blob Storage-এ ফাইল আপলোড করতে Azure.Storage.Blobs NuGet প্যাকেজ ব্যবহার করতে হয়। এই প্যাকেজটি ইনস্টল করার মাধ্যমে আপনি .NET অ্যাপ্লিকেশন থেকে Blob Storage এর সাথে কাজ করতে পারবেন।

NuGet প্যাকেজ ইনস্টল করা

dotnet add package Azure.Storage.Blobs

Azure Blob Storage কনফিগারেশন

Azure Blob Storage ব্যবহার করতে প্রথমে Connection String এবং Container Name নির্ধারণ করতে হবে, যা আপনি Azure Portal থেকে পেতে পারেন।

using Azure.Storage.Blobs;
using System;
using System.IO;
using System.Threading.Tasks;

public class BlobStorageService
{
    private readonly string connectionString = "<Your_Connection_String>";
    private readonly string containerName = "<Your_Container_Name>";

    public async Task UploadFileAsync(string filePath)
    {
        var blobClient = new BlobServiceClient(connectionString);
        var containerClient = blobClient.GetBlobContainerClient(containerName);

        // Create container if it doesn't exist
        await containerClient.CreateIfNotExistsAsync();

        // Upload the file
        var blobClient = containerClient.GetBlobClient(Path.GetFileName(filePath));
        await blobClient.UploadAsync(filePath, overwrite: true);

        Console.WriteLine("File uploaded successfully!");
    }
}

এখানে:

  • BlobServiceClient: এটি Blob Storage এর সাথে যোগাযোগ তৈরি করে।
  • GetBlobContainerClient: এটি ব্লব কন্টেইনার ক্লায়েন্ট তৈরি করে।
  • GetBlobClient: এটি ব্লব ক্লায়েন্ট তৈরি করে, যার মাধ্যমে ফাইল আপলোড করা হয়।

ফাইল আপলোড করার উদাহরণ

public async Task UploadFile()
{
    var filePath = "path_to_your_file";
    var storageService = new BlobStorageService();
    await storageService.UploadFileAsync(filePath);
}

Azure Blob Storage থেকে ফাইল ডাউনলোড করা

এছাড়া আপনি Blob Storage থেকে ফাইল ডাউনলোডও করতে পারেন। ডাউনলোডের জন্য নিচের কোডটি ব্যবহার করা যাবে।

public async Task DownloadFileAsync(string blobName, string downloadFilePath)
{
    var blobClient = new BlobServiceClient(connectionString);
    var containerClient = blobClient.GetBlobContainerClient(containerName);
    var blobClient = containerClient.GetBlobClient(blobName);

    Console.WriteLine($"Downloading blob to {downloadFilePath}...");

    await blobClient.DownloadToAsync(downloadFilePath);

    Console.WriteLine("Download complete!");
}

এখানে:

  • DownloadToAsync: এটি ব্লব ডাউনলোড করতে ব্যবহৃত হয় এবং সেটি নির্দিষ্ট ডিরেক্টরিতে সংরক্ষণ করে।

Azure Blob Storage-এর অন্যান্য ফিচার

  • Blob Types: Azure Blob Storage-এ তিন ধরনের ব্লব রয়েছে:
    • Block blobs: সাধারণ ফাইল সংরক্ষণ জন্য ব্যবহৃত হয়, যেমন ইমেজ বা ভিডিও।
    • Append blobs: লগ ফাইল বা ডেটা অ্যাপেন্ড করার জন্য ব্যবহার করা হয়।
    • Page blobs: ভারি ডেটা বা বড় আকারের ফাইল যেমন ভার্চুয়াল মেশিন ইমেজ সংরক্ষণের জন্য ব্যবহৃত হয়।
  • Access Control: Azure Blob Storage-এর ফাইল অ্যাক্সেস নিয়ন্ত্রণ করতে Shared Access Signature (SAS) অথবা Azure Active Directory (AAD) ব্যবহার করা যায়।

সারাংশ

Azure Blob Storage একটি শক্তিশালী ক্লাউড স্টোরেজ সেবা যা ফাইল, ডকুমেন্ট, ব্যাকআপ এবং মিডিয়া ফাইল সংরক্ষণের জন্য ব্যবহৃত হয়। এটি মাইক্রোসফট অ্যাজুরের একটি গুরুত্বপূর্ণ অংশ এবং বড় অ্যাপ্লিকেশনগুলির জন্য উপযুক্ত যেখানে অনেক ডেটা বা বড় ফাইল সংরক্ষণ করতে হয়। .NET অ্যাপ্লিকেশনে Azure Blob Storage ইন্টিগ্রেট করার জন্য Azure.Storage.Blobs NuGet প্যাকেজ ব্যবহার করা হয়, যা খুব সহজে Blob Storage-এ ফাইল আপলোড এবং ডাউনলোড করতে সহায়তা করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion